A message handling system is an arrangement of interconnected processing components, which may be configured as a single machine or as a series of machines such as servers connected together, with messages traveling between the components.
A message handling system would be used by, for example, a business to link together such things as a website, customer records, stock information, and financial details. These components are in communication with each other via messages (units of work) that are created according to the structure of the system. For example, when a customer places an order through the website of the business, this would generate one or more messages that can be held in queues maintained by a central facility. The components within the system can then access the queues to call messages to execute tasks in relation to the called message, such as accessing the customer's account to receive payment, reserving stock and so forth.
Software vendors provide solutions to businesses to enable them to set up such message handling systems, or to integrate existing (sub) systems into a single unitary whole. The central facility within the system, which can be maintained by a component of the system, controls the general operation of the system. A variety of system parameters are set and controlled by this central facility. This may include such things as the allocation of memory resources in the system, the maintaining and updating of a log (for use in recovery situations), the number of processes being run by the system, the persistence/non-persistence of messages, and so on.
The central facility will be accessible by an administrator of the system, via a suitable user interface. The administrator can, via the user interface, access data concerning the operation of the message handling system, such as the amount of message traffic, and can monitor the performance of the system and of the individual components. The administrator can also make changes to the system parameters to adjust or attempt to improve the performance of the message handling system.
It is common for a user of a message handling system to have an ongoing relationship with the original vendor of the product, for such matters as technical support. In particular, following installation or following a substantial change in the operating circumstances of the system (such as a change in customer base or the launch of new products), the original vendor or the system administrator may be called upon to optimize the message handling system, or at least attempt to improve the overall throughput of messages in the system.
To achieve this, it is necessary for a technically skilled person who is familiar with the particular system and with the operating arrangement of that system to understand and characterize the overall system and work out a projection of the likely optimum performance of the particular installation of the message handling system. This projection includes potential parameter changes within the system. These changes are usually then made, and an iterative process of improving the performance of the system is carried out.
It will be appreciated that this known method of improving the performance of a message handling system is expensive in terms of resources and expertise, and has the overall weakness that it relies very heavily on the skilled person's judgment and experience.